jQuery(document).ready(function ($){ if(fifuImageVars.fifu_block){ jQuery('body').on('contextmenu', 'img', function (e){ return false; }); } if(fifuImageVars.fifu_redirection&&fifuImageVars.fifu_forwarding_url&&!fifuImageVars.fifu_is_front_page){ attr=fifuImageVars.fifu_lazy ? 'data-src':'src'; if(fifuImageVars.fifu_main_image_url) jQuery('img[' + attr + '="' + fifuImageVars.fifu_main_image_url + '"]').wrap(''); else jQuery('img[srcset*="' + fifuImageVars.fifu_local_image_url + '"]').wrap(''); } if(fifuImageVars.fifu_lazy) fifu_lazy(); else { jQuery('img').each(function (index){ if(jQuery(this).offset().top < jQuery(window).height()){ jQuery(this).removeAttr('loading'); }}); } if(fifuImageVars.fifu_should_crop){ setTimeout(function (){ cropImage(); }, parseInt(fifuImageVars.fifu_crop_delay)); } disableClick($); disableLink($); setTimeout(function (){ jQuery('img.zoomImg').css('z-index', ''); }, 1000); jQuery('img[height=1]').each(function (index){ if(jQuery(this).attr('width')!=1) jQuery(this).css('position', 'relative'); }); jQuery('a.btn-load-more').on('click', function (){ fifu_lazy(); }); }); jQuery(document).ajaxComplete(function ($){ jQuery('div.woocommerce-product-gallery img').on('error', function (){ jQuery(this)[0].src=fifuImageVars.fifu_error_url; }); }); jQuery(window).on('ajaxComplete', function (){ if(fifuImageVars.fifu_lazy) fifu_lazy(); setTimeout(function (){ if(fifuImageVars.fifu_slider) fifu_slider=fifu_load_slider(); }, 300); }); jQuery(document).ajaxSuccess(function ($){ if(fifuImageVars.fifu_lazy) fifu_lazy_ajax(); }); var observer=new MutationObserver(function (mutations){ if(fifuImageVars.fifu_lazy){ mutations.forEach(function (mutation){ mutation.addedNodes.forEach(function (node){ if(jQuery(node).find('img').length > 0){ if(!jQuery(node).hasClass('pswp__zoom-wrap')){ jQuery(node).find('img').each(function (index){ if(jQuery(this).attr('src')=='null'||jQuery(this).hasClass('lazyload')||jQuery(this).parent().hasClass('lslide')||jQuery(this).parent().hasClass('lg-img-wrap')) return; fifu_lazy_ajax(this); }); } return; }else if(jQuery(node).prop('tagName')=='IMG'){ if(!jQuery(node).hasClass('zoomImg')) fifu_lazy_ajax(node); return; }}); }); }}); observer.observe(document, {attributes: false, childList: true, characterData: false, subtree: true}); function cropImage(selector){ if(!selector) selector=fifuImageVars.fifu_crop_default + fifuImageVars.fifu_crop_selectors; sel=selector.split(','); dictRatio={}; dicFit={}; selector=''; for (i=0; i < sel.length; i++){ arr=sel[i].split('|'); if(arr.length > 1){ dictRatio[i]=arr[1]; if(arr.length > 2) dicFit[i]=arr[2]; } selector +=arr[0]; if(i + 1 < sel.length) selector +=', '; } fit=fifuImageVars.fifu_fit; global_ratio=fifuImageVars.fifu_crop_ratio; global_ratio_w=global_ratio.split(':')[0]; global_ratio_h=global_ratio.split(':')[1]; sel=selector.split(','); for (i=0; i < sel.length; i++){ if(dictRatio){ local_ratio=dictRatio[i]; ratio_w=local_ratio ? local_ratio.split(':')[0]:global_ratio_w; ratio_h=local_ratio ? local_ratio.split(':')[1]:global_ratio_h; } if(dicFit){ local_fit=dicFit[i]; fit=local_fit ? local_fit:fit; } jQuery(sel[i]).each(function (index){ if(sel[i].trim()==='.fifu-slider') return; var width; var backend=false; jQuery(this).find('img, a.g1-frame').each(function (index){ ignoreSelectors=fifuImageVars.fifu_crop_ignore_parent.split(','); skip=false; for (j=0; j < ignoreSelectors.length; j++){ if(jQuery(this).parent().is(ignoreSelectors[j])){ skip=true; break }} if(skip) return; theme_width=jQuery(this).attr('theme-width'); theme_height=jQuery(this).attr('theme-height'); if(!width){ width=jQuery(this).parent().css('width').replace('px', ''); width=width!=0 ? width:jQuery(this).parent().parent().css('width').replace('px', ''); width=width!=0 ? width:jQuery(this).parent().parent().parent().css('width').replace('px', ''); } if(width=='100%'){ width=jQuery(this).parent()[0].clientWidth; width=width!=0 ? width:jQuery(this).parent().parent()[0].clientWidth; width=width!=0 ? width:jQuery(this).parent().parent().parent()[0].clientWidth; } if(isValidImgClass(jQuery(this).attr('class'))){ if(fifuImageVars.fifu_should_crop_with_theme_sizes&&(backend||(theme_width&&theme_height&&theme_height!=9999))){ backend=true; jQuery(this).attr('style', jQuery(this).attr('style') + ';height: ' + (width * theme_height / theme_width) + 'px !important'); }else{ jQuery(this).attr('style', jQuery(this).attr('style') + ';height: ' + (width * ratio_h / ratio_w) + 'px !important'); } if(jQuery(this)[0].clientHeight > jQuery(this)[0].clientWidth) jQuery(this).css('width', '100%'); else jQuery(this).css('width', width + 'px !important'); jQuery(this).css('object-fit', fit ? fit:'cover'); position=jQuery(this).attr('fifu-position'); if(position){ jQuery(this).css('object-position', position); jQuery(this).removeAttr('fifu-position'); }} }); jQuery(this).find('*[style*="background-image"]').each(function (index){ jQuery(this).css('background-size', fit); }); }); } jQuery('a.woocommerce-LoopProduct-link').css('width', '100%'); } function isValidImgClass(className){ return !className||!className.includes('avatar'); } function disableClick($){ if(!fifuImageVars.fifu_woo_lbox_enabled){ firstParentClass=''; parentClass=''; jQuery('figure.woocommerce-product-gallery__wrapper').find('div.woocommerce-product-gallery__image').each(function (index){ parentClass=jQuery(this).parent().attr('class').split(' ')[0]; if(!firstParentClass) firstParentClass=parentClass; if(parentClass!=firstParentClass) return false; jQuery(this).children().click(function (){ return false; }); jQuery(this).children().children().css("cursor", "default"); }); }} function disableLink($){ if(!fifuImageVars.fifu_woo_lbox_enabled){ firstParentClass=''; parentClass=''; jQuery('figure.woocommerce-product-gallery__wrapper').find('div.woocommerce-product-gallery__image').each(function (index){ parentClass=jQuery(this).parent().attr('class').split(' ')[0]; if(!firstParentClass) firstParentClass=parentClass; if(parentClass!=firstParentClass) return false; jQuery(this).children().attr("href", ""); }); }} jQuery(document).ajaxSuccess(function (){ if(fifuImageVars.fifu_should_crop){ setTimeout(function (){ cropImage(); }, parseInt(fifuImageVars.fifu_crop_delay)); }}); jQuery(document).click(function ($){ fifu_fix_gallery_height(); }) function fifu_fix_gallery_height(){ if(fifuImageVars.fifu_is_flatsome_active){ mainImage=jQuery('.woocommerce-product-gallery__wrapper div.flickity-viewport').find('img')[0]; if(mainImage) jQuery('.woocommerce-product-gallery__wrapper div.flickity-viewport').css('height', mainImage.clientHeight + 'px'); }} jQuery(document.body).on('post-load', function (){ if(fifuImageVars.fifu_lazy) fifu_lazy(); setTimeout(function (){ if(fifuImageVars.fifu_slider) fifu_slider=fifu_load_slider(); }, 300); }); jQuery('img.lazy').on('appear', function (){ if(fifuImageVars.fifu_should_crop) cropImage(); }); jQuery('ul#image-gallery > li > img').on('load', function (){ if(fifuImageVars.fifu_lazy&&!fifuImageVars.fifu_slider_vertical){ if(jQuery(this).parent().hasClass('active')) jQuery(this).parent().parent().css('height', this.clientHeight); }}); !function(factory){var registeredInModuleLoader;if("function"==typeof define&&define.amd&&(define(factory),registeredInModuleLoader=!0),"object"==typeof exports&&(module.exports=factory(),registeredInModuleLoader=!0),!registeredInModuleLoader){var OldCookies=window.Cookies,api=window.Cookies=factory();api.noConflict=function(){return window.Cookies=OldCookies,api}}}((function(){function extend(){for(var i=0,result={};i");u=function(){var J,L,K;if(z){return;}I=p.height();J=parseInt(w.css("border-top-width"),10);L=parseInt(w.css("padding-top"),10); G=parseInt(w.css("padding-bottom"),10);q=w.offset().top+J+L;i=w.height();if(r){r=false;D=false;if(f==null){t.insertAfter(v);v.detach();}t.css({position:"",top:"",width:"",bottom:""}).removeClass(g); K=true;}B=t.offset().top-(parseInt(t.css("margin-top"),10)||0)-l;C=t.outerHeight(true);y=t.css("float");if(v){v.css({width:t.outerWidth(true),height:C,display:t.css("display"),"vertical-align":t.css("vertical-align"),"float":y}); }if(K){return E();}};u();if(C===i){return;}F=void 0;s=l;A=c;E=function(){var L,O,M,K,J,N;if(z){return;}M=false;if(A!=null){A-=1;if(A<=0){A=c;u();M=true; }}if(!M&&p.height()!==I){u();M=true;}K=b.scrollTop();if(F!=null){O=K-F;}F=K;if(r){if(o){J=K+C+s>i+q;if(D&&!J){D=false;t.css({position:"fixed",bottom:"",top:s}).trigger("sticky_kit:unbottom"); }}if(KN){if(!D){s-=O;s=Math.max(N-C,s);s=Math.min(l,s);if(r){t.css({top:s+"px"});}}}}}else{if(K>B){r=true;L={position:"fixed",top:s}; L.width=t.css("box-sizing")==="border-box"?t.outerWidth()+"px":t.width()+"px";t.css(L).addClass(g);if(f==null){t.after(v);if(y==="left"||y==="right"){v.append(t); }}t.trigger("sticky_kit:stick");}}if(r&&o){if(J==null){J=K+C+s>i+q;}if(!D&&J){D=true;if(w.css("position")==="static"){w.css({position:"relative"});}return t.css({position:"absolute",bottom:G,top:"auto"}).trigger("sticky_kit:bottom"); }}};x=function(){u();return E();};H=function(){z=true;b.off("touchmove",E);b.off("scroll",E);b.off("resize",x);a(document.body).off("sticky_kit:recalc",x); t.off("sticky_kit:detach",H);t.removeData("sticky_kit");t.css({position:"",bottom:"",top:"",width:""});w.position("position","");if(r){if(f==null){if(y==="left"||y==="right"){t.insertAfter(v); }v.remove();}return t.removeClass(g);}};b.on("touchmove",E);b.on("scroll",E);b.on("resize",x);a(document.body).on("sticky_kit:recalc",x);t.on("sticky_kit:detach",H); return setTimeout(E,0);};for(j=0,k=this.length;j